Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2013, 13:47
Аспирант
Отправить личное сообщение для Synov_son Посмотреть профиль Найти все сообщения от Synov_son
 
Регистрация: 02.08.2013
Сообщений: 74

Ajax загрузка обработчика
Есть форма
<head>
<script type="text/javascript" src="install/js/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="install/js/framework.js"></script>
</head>
<body>
<form id="langs_form" method="post">
<select size="5" name="lang" id="lang">
        <option value="en">Английский</option>
        <option value="ru" selected="selected">Русский</option>
        <option value="ua">Украинский</option>
</select>
<div id="lang_handler"></div>
<button id="lang_sub" onclick="submitting()">Выбрать</button>
</form>
</body>


Вот код framework.js
function submitting(){
        var lang = document.getElementById('lang').value;
//Обработчик 
                $("#lang_handler").load("install/packages/langs_handler.php");
        };


Вот код обработчика
//Выбранный язык
$lang = $_POST['lang'].'.php';
//Копируем выбранный язык в корневую папку сайта
copy("../langs/$lang","../../langs/$lang");


Пытался подгрузить обработчик при нажатии на кнопку в div lang_handler, почему не срабатывает ? Перед этим перепробовал самоучкой другие способы обработать форму без перезагрузки страницы. Просто вызывая обработчик при submit формы все получается. Помогите, пожплуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2013, 13:58
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Потому что, если вы ничего не передаёте на сервер методом load, то будет использоваться метод GET, а не POST. Используйте $.post вместо $.load
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2013, 14:24
Аспирант
Отправить личное сообщение для Synov_son Посмотреть профиль Найти все сообщения от Synov_son
 
Регистрация: 02.08.2013
Сообщений: 74

Пробовал и $.post(url, data, success) и $.ajax, выполнялся только success, а обработчик свою функцию не совершал..неправильно передаю данные ?
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2013, 22:45
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

$.post("install/packages/langs_handler.php", {lang:'ru'}, function(res){
alert(res);
})

отправит на сервер lang=ru. Попробуйте в php файле в конце сделать
echo $lang;
. Должен выскочить alert с "ru.php". Если да - ajax запрос происходит успешно, смотрите что не так с вашим php обработчиком. Фун-я copy возвратит false, если не удалось скопировать файл - проверьте.
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2013, 12:07
Аспирант
Отправить личное сообщение для Synov_son Посмотреть профиль Найти все сообщения от Synov_son
 
Регистрация: 02.08.2013
Сообщений: 74

Спасибо. Решил, с помощью $.ajax
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX + PHP загрузка файлов с сервера Stanisov AJAX и COMET 10 16.08.2013 11:18
Ajax. вывод результатов обработчика Alexander333 AJAX и COMET 4 29.12.2012 16:25
Загрузка страниц с помощью ajax radikal AJAX и COMET 3 29.11.2012 16:26
AJAX загрузка CSS в IE addam jQuery 0 26.07.2011 08:09
загрузка файла по принципу ajax neadekvat Общие вопросы Javascript 2 12.05.2009 22:23